using System;
using System.Net;
using ICIA.ARojas.Silverlight.DataService;
using Didsoft.Silverlight.ViewModel.Data;
using ICIA.ARojas.Silverlight.WCFClient.ObservacionesCliente;

namespace ICIA.ARojas.Visual.Observaciones.ViewModel
{
    public class VmObservaciones : DataModelBase<ICIA.ARojas.Silverlight.Entities.Observaciones>
    {
        public Silverlight.Entities.Destino Destino { get; set; }

        ObservacionesNegociosServicioClient servicio = new ObservacionesNegociosServicioClient();

        public VmObservaciones()
        {
            base.SetDataService(new ObservacionesDataService());            
        }

        public void CargarObservaciones()
        { 
          servicio.ObtenerPorDestinoCompleted += servicio_ObtenerPorDestinoCompleted;
          servicio.ObtenerPorDestinoAsync(Destino.Id);        
        }

        void servicio_ObtenerPorDestinoCompleted(object sender, ObtenerPorDestinoCompletedEventArgs e)
        {
            servicio.ObtenerPorDestinoCompleted -= servicio_ObtenerPorDestinoCompleted;
            if (e.Error == null)
                Items = e.Result;
            else
                Didsoft.Silverlight.ContentManager.ExceptionMessage.Show(e.Error.Message);
                    
        }


        public override void PreSave()
        {
            this.SelectedItem.Destino = Destino;
            this.SelectedItem.Fecha = DateTime.Now;
            this.SelectedItem.FechaActualizado = DateTime.Now;
            this.SelectedItem.NombreObservacion = "Observacion " + DateTime.Now.ToShortDateString();
            
        }

        /*
         *  Atencion : El XAML y el code behind de la UI debe quedar algo parecido a esto ....
         *  
         * 
         * <UserControl x:Class="ICIA.ARojas.Visual.Observaciones.VwObservaciones"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" 
            xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
            xmlns:cc="clr-namespace:Didsoft.Silverlight.Controls.Data;assembly=Didsoft.Silverlight.Controls.Data"
            xmlns:controlsToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit"  
            MinHeight="200" MinWidth="200">

            <Grid>
                <controlsToolkit:BusyIndicator
                    IsBusy="{Binding IsBusy}" 
                    Foreground="Black"
                    BusyContent="Procesando Datos......">
                    <cc:BasicDataForm Name="BDF" AutoGenerateColumns="True" AutoGenerateFields="True"></cc:BasicDataForm>
                </controlsToolkit:BusyIndicator>       
            </Grid>
        </UserControl>
         * 
         * //esta es la clase que maneja al XAML
         * public partial class VwObservaciones : UserControl
            {
                private VmObservaciones viewModel;
                public VwObservaciones()
                {
                    InitializeComponent();
                    viewModel =  new VmObservaciones();
                    this.DataContext = viewModel;

                    viewModel.ViewModelBasicDataForm = BDF.viewmodel;
                    viewModel.SetEventsToDataForm();
                }
            }
         */
    }
}


